## Compilador lenguaje rpc ##

Un diminuto lenguaje de pruebas de concepto.

LICENCIA: GPLv3.

Ver [interprete diminuto](interprete_rpc.py), Funciona con python3

    python3 interprete_rpc.py

## Instrucciones ##

### mostrar ###

    mostrar "texto cualquiera".
	mostrar variable.

similar a `print "texto cualquiera"`, `print var1`

#### Gramatica ####

W = {a,..,z,A,..,Z}
vars = {{W},0,..,9,_}
ascii = valores ascii 

    P:   mostrar X|mostrar V
    X->   "T
    T->  [ascii1]*F
    F->  "FF
	V->  [W][vars]*FF
    FF-> .

#### Automata ####

       'mostrar '    '"'    [ascii1]*   '"'      '.'
    (0)--------->(1)---->(2)-------->(3)---->(4)----->((5))
                   \ [W][vars]*        '.'            ^
	                ------------>(6)------------------/

### Declarar enteros ###

    entero X=<valor entero>.

#### Gramatica ####

    P:   entero V
	V->  [W][vars]*I
	I->   = V|= V| =V|=V
	V->  [0-9]*FF
	FF-> .

#### Automata ####

        'entero '   [W][vars]*      = V|= V| =V|=V     [0-9]*     '.'
    (0)--------->(1)------------>(2)---------------->(3)------->(4)---->((5))


### Asignar entero ###

    var = <valor entero>.

#### Gramatica ####

    P:   [W][vars]*I
	I->   = N| =N|= N|=N
	N->  [0-9]*FF
	FF-> .

#### Automata ####

       [W][vars]*       = N| =N|= N|=N    [0-9]*      '.'
    (0)------------>(1)--------------->(2)------>(3)----->((4))

### Incrementar entero 1 unidad ###

    var++.

#### Gramatica ####

    P: [W][vars]*'++'

#### Automata ####

       [W][vars]*     '++'
    (0)----------->(1)------>((2))

### Decrementar entero 1 unidad ###

    var--.

#### Gramatica ####

    P: [W][vars]*'--'

#### Automata ####

       [W]+[vars]*      '--'
	(0)------------>(1)----->((2))
